package offer.offer04;

/**
 * 100, 25 这为什么是困难。。
 * 有用位运算来写的, 比较猛, 以后再看。
 */
public class Solution64 {
    public int sumNums(int n) {
        if(n == 0) return 0;
        return n + sumNums(n - 1);
    }

    //这个递归是否结束的判断, 优雅
    public int sumNums2(int n) {
        boolean flag = n > 0 && (n += sumNums(n - 1)) > 0;
        return n;
    }

}
